.\" SPDX-License-Identifier: BSD-3-Clause
.\" Copyright(c) 2007-2025 Intel Corporation
.Dd June 2, 2025
.Dt QAT 4
.Os
.Sh NAME
.Nm qat
.Nd Intel QuickAssist Technology driver
.Sh SYNOPSIS
To load the driver call:
.Pp
.Bl -item -compact
.It
kldload qat
.El
.Pp
In order to load the driver on boot add these lines to
.Xr loader.conf 5 selecting firmware(s) suitable for installed device(s)
.Pp
.Bl -item -compact
.It
qat_200xx_fw_load="YES"
.It
qat_c3xxx_fw_load="YES"
.It
qat_c4xxx_fw_load="YES"
.It
qat_c62x_fw_load="YES"
.It
qat_dh895xcc_fw_load="YES"
.It
qat_4xxx_fw_load="YES"
.It
qat_load="YES"
.El
.Sh DESCRIPTION
The
.Nm
driver supports cryptography and compression acceleration of the
Intel (R) QuickAssist Technology (QAT) devices.
.Pp
A complete API for offloading these operations is exposed in the kernel
and may be used by any other entity directly.
In addition to exposing a complete kernel API for
offloading cryptography and compression operations, the
.Nm
driver also integrates with
.Xr crypto 4 ,
allowing offloading supported operations to Intel QuickAssist Technology
devices.
.Sh HARDWARE
The
.Nm
driver supports the following Intel QuickAssist Technology Engines:
.Pp
.Bl -bullet -compact
.It
Intel (R) C62x Chipset
.It
Intel (R) Atom C3000 processor product family
.It
Intel (R) QuickAssist Adapter 8960/Intel (R) QuickAssist Adapter 8970
(formerly known as "Lewis Hill")
.It
Intel (R) Communications Chipset 8925 to 8955 Series
.It
Intel (R) Atom P5300 processor product family
.It
Intel (R) QAT 4xxx Series
.El
.Sh SYSCTL_VARIABLES
The following
.Xr sysctl 8
variables may be used to reconfigure the
.Nm
device.
For configuration persistence those variables may be set before loading
the driver, either via
.Xr kenv 1
or
.Xr loader.conf 5 .
.Pp
The specific device needs to be in the "down" state
before changing the configuration.
.Bl -tag -width indent
.It Va dev.qat.X.state
Show or set current state of the device.
Possible values: "down", "up".
.Pp
NOTE: If the symmetric services are used for device the
.Sy qat_ocf
driver needs to be disabled prior the device reconfiguration.
.It Va dev.qat_ocf.0.enable
Enable/disable the QAT cryptographic framework connectivity.
Enabled by default.
.It Va dev.qat.X.cfg_services
Override the device services enabled, may be one of:
symmetric, asymmetric, data compression.
Possible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym".
Default services configured
are "sym;asym" for even and "dc" for odd devices.
.It Va dev.qat.X.cfg_mode
Override the device mode configuration
for kernel space and user space instances.
Possible values: "ks", "us", "ks;us".
Default value "ks;us".
.It Va dev.qat.X.num_user_processes
Override the number of uio user space processes
that can connect to the QAT device.
Default: 2
.It Va dev.qat.X.disable_safe_dc_mode
Override history buffer mitigation.
Disabled by default.
If enabled, decompression throughput increases but may result in a data leak if
.Va dev.qat.X.num_user_processes
is more than 1.
Enable this option only if your system is not prone to user data leaks.
.El
.Pp
The following
.Xr sysctl 8
variables are read-only:
.Bl -tag -width indent
.It Va dev.qat.X.frequency
QAT device frequency value.
.It Va dev.qat.X.mmp_version
QAT MMP Library revision number.
.It Va dev.qat.X.hw_version
QAT hardware revision number.
.It Va dev.qat.X.fw_version
QAT firmware revision number.
.It Va dev.qat.X.dev_cfg
Summary of device specific configuration.
.It Va dev.qat.X.heartbeat
QAT device heartbeat status.
Value '1' indicates that the device is operational.
Value '0' means that the device is not responsive.
Device requires restart.
.It Va dev.qat.X.heartbeat_failed
Number of QAT heartbeat failures received.
.It Va dev.qat.X.heartbeat_sent
Number of QAT heartbeat requests sent.
.El
.Sh SEE ALSO
.Xr crypto 4 ,
.Xr ipsec 4 ,
.Xr pci 4 ,
.Xr crypto 7 ,
.Xr crypto 9
.Pp
For details of usage and supported operations and algorithms refer to
the following documentation available from Intel Download Center
.Lk https://downloadcenter.intel.com :
.Pp
.Bl -bullet -compact
.It
.Rs
.%A Intel (R)
.%T QuickAssist Technology API Programmer's Guide
.Re
.It
.Rs
.%A Intel (R)
.%T QuickAssist Technology Cryptographic API Reference Manual
.Re
.It
.Rs
.%A Intel (R)
.%T QuickAssist Technology Data Compression API Reference Manual
.Re
.It
.Rs
.%A Intel (R)
.%T QuickAssist Technology Performance Optimization Guide
.Re
.El
.Sh HISTORY
A
.Nm
driver appeared in
.Fx 13.0 .
It was superseded in
.Fx 14.0
by the upstream driver.
.Sh AUTHORS
The
.Nm
driver was written by
.An Intel (R) Corporation .
